<?php
require_once("config.php");
if (!isset($_SERVER['PHP_AUTH_USER'])) {
   header('WWW-Authenticate: Basic realm="Nhập vào thông tin client"');
   header('HTTP/1.0 401 Unauthorized');
   echo 'Text to send if user hits Cancel button';
   exit;
} else {
   $accessCode = getValue('accessCode','str','GET','');
   if($accessCode == '') {
      $arr_return = array('status'=>0,
                          'message'=>'Không tìm thấy access code',
                          'user'=>array());
   }else {
      $client_id = $_SERVER['PHP_AUTH_USER'];
      $client_key = $_SERVER['PHP_AUTH_PW'];
      $db_client = new db_query('SELECT cli_id,cli_name,cli_key,cli_security
                                 FROM clients
                                 WHERE cli_active = 1 AND cli_type = "oauth" AND cli_name = "'.$client_id.'"
                                 LIMIT 1');
      if(mysql_num_rows($db_client->result) == 1) {
         $client = mysql_fetch_assoc($db_client->result);
         if(md5($client['cli_name'].$client['cli_security']) == $client_key) {
            $use_id = base64_decode($accessCode);
            $use_id = rtrim($use_id,'OdusIaT');
            $use_id = base64_decode($use_id);
            $use_id = intval($use_id);
            if(is_int($use_id)) {
               $db_outlog = new db_query('SELECT * FROM log_sso WHERE log_user_id = '.$use_id.' AND log_service = "'.$client_id.'" ORDER BY log_id DESC LIMIT 1');
               $outlog = mysql_fetch_assoc($db_outlog->result);
               
               if($outlog) {
                  var_dump($outlog);die;
                  $db_dellog = new db_execute('DELETE FROM log_sso WHERE log_id = '.$outlog['log_id']);
                  $curr_time = time();
                  if($curr_time < ($outlog['log_time'] + 60)) {
                     $db_user_return = new db_query('SELECT use_id,use_email,use_firstname,use_lastname,use_phone,use_contact,use_date,use_gender
                                                     FROM users
                                                     WHERE use_active = 1 AND use_id = '.$use_id.'
                                                     LIMIT 1');
                     $user_return = mysql_fetch_assoc($db_user_return->result);
                     
                     if(isset($user_return)) {
                        $arr_return = array('status'=>1,
                                            'message'=>'Trả về thông tin user thành công',
                                            'user'=>array('id'=>$user_return['use_id'],
                                                          'email'=>$user_return['use_email'],
                                                          'first_name'=>$user_return['use_firstname'],
                                                          'last_name'=>$user_return['use_lastname'],
                                                          'gender'=>$user_return['use_gender'],
                                                          'phone'=>$user_return['use_phone'],
                                                          'contact'=>$user_return['use_contact'],
                                                          'date'=>$user_return['use_date']));
                     }else {
                        $arr_return = array('status'=>0,
                                            'message'=>'Không tìm thấy tài khoản',
                                            'user'=>array());
                     }
                  }else {
                     $arr_return = array('status'=>0,
                                         'message'=>'accessCode đã hết hạn',
                                         'user'=>array());
                  }
               }else {
                  $arr_return = array('status'=>0,
                                      'message'=>'accessCode không hợp lệ hoặc đã hết hạn',
                                      'user'=>array());
               }
            }else {
               $arr_return = array('status'=>0,
                                   'message'=>'accessCode không hợp lệ',
                                   'user'=>array());
            }
         }else {
            $arr_return = array('status'=>0,
                                'message'=>'Client không hợp lệ',
                                'user'=>array());
         }
      }else {
         $arr_return = array('status'=>0,
                             'message'=>'Client không tồn tại',
                             'user'=>array());
      }
   }
}
die(base64_encode(json_encode($arr_return)));
?>